package studyandroid.android.study.gophern.studyandroid.ui.titlebar;


import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;

import studyandroid.android.study.gophern.studyandroid.R;

/**
 * 引入布局的技巧确实解决了重复编写布局代码的问题，但是如果布局中有一些控件要求能够响应事件，还是需要在每个活动中为这些控件单独编写一次事件注册的代码。
 * <p>
 * 通过自定义控件可以解决重复代码的问题。
 * <p>
 * 新建TitleLayout继承自LinearLayout，让它成为我们自定义的标题栏，代码如下：
 */
public class Inc2TitleLayout extends LinearLayout {
	public Inc2TitleLayout(Context context, AttributeSet attrs) {
		super(context, attrs);
		//动态加载布局文件
		LayoutInflater.from(context).inflate(R.layout.inc_title_bar, this);
		Button titleBack = (Button) findViewById(R.id.title_back);
		Button titleEdit = (Button) findViewById(R.id.title_edit);
		titleBack.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				//结束当前Activity
				((Activity) getContext()).finish();
			}
		});
		titleEdit.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				Toast.makeText(getContext(), "You clicked Edit button", Toast.LENGTH_SHORT).show();
			}
		});
	}
}